Acceleration and gravity data based system and method for classifying placement of a mobile network device on a person

ABSTRACT

A system is provided including a data module, a classification module and a control module. The data module is configured to receive at least one of acceleration data and gravity data from an accelerometer or a mobile network device, where the acceleration data and the gravity data are indicative of accelerations experienced by the mobile network device. The classification module is configured to classify a location of the mobile network device on a person based on the at least one of the acceleration data and the gravity data and generate a location classification output. The control module is configured to perform an operation based on the location classification output.

INTRODUCTION

The information provided in this section is for the purpose of generallypresenting the context of the disclosure. Work of the presently namedinventors, to the extent it is described in this section, as well asaspects of the description that may not otherwise qualify as prior artat the time of filing, are neither expressly nor impliedly admitted asprior art against the present disclosure.

The present disclosure relates to passive entry and passive start (PEPS)systems with approach detection.

A traditional PEPS system of a vehicle can include a sensor that is usedto detect signals transmitted from a key fob. In response to thetransmitted signals, a body control module of the vehicle can performcertain vehicle functions, such as lock doors, open a trunk, open ahatch, start an engine, etc. As a couple of examples, a PEPS system maybe a low frequency (LF)/radio frequency (RF) PEPS system, a Bluetooth®low energy (BLE) PEPS system, a Wi-Fi® based PEPS system or acombination thereof. As a couple of examples, in the LF/RF PEPS system,the signals transmitted from the key fob may be pulsed at 315 or 435megahertz (MHz) and the signals transmitted from the vehicle to the keyfob may be pulsed at 125 kilohertz (kHz). In the BLE PEPS system, thesignals transmitted from the key fob are pulsed at 2.4 gigahertz (GHz).

SUMMARY

A system is provided including a data module, a classification moduleand a control module. The data module is configured to receive at leastone of acceleration data and gravity data from an accelerometer or amobile network device, where the acceleration data and the gravity dataare indicative of accelerations experienced by the mobile networkdevice. The classification module is configured to classify a locationof the mobile network device on a person based on the at least one ofthe acceleration data and the gravity data and generate a locationclassification output. The control module is configured to perform anoperation based on the location classification output.

In other features, a system is provided and includes a data module, anaveraging module, a classification module, a grouping module and apassive entry and passive start module. The data module is configured toreceive gravity data from a mobile network device, where the gravitydata is indicative of accelerations due to gravity experienced by themobile network device. The averaging module is configured to determineabsolute values of the gravity data and average the absolute values,wherein each of the average absolute values is an average of arespective set of the absolute values. The classification module isconfigured to iteratively classify a location of the mobile networkdevice on a person based on largest ones of the average values andgenerate a location classification outputs, where each of the locationclassification outputs corresponds to a respective set of the largestones of the average values. The grouping module is configured to groupthe location classification outputs of the classification module andselect one of the location classification outputs as a placement result.The passive entry and passive start module is configured to perform anoperation in a vehicle based on the placement result.

In other features, a method of classifying a location of a mobilenetwork device on a person is provided. The method includes: receivingat least one of acceleration data and gravity data from the mobilenetwork device, where the at least one of acceleration data and gravitydata is indicative of accelerations experienced by the mobile networkdevice; and determining absolute values of the at least one ofacceleration data and gravity data and average the absolute values,where each of the average absolute values is an average of a respectiveset of the absolute values. The method further includes: iterativelyclassifying a location of the mobile network device on a person based onlargest ones of the average values and generate a locationclassification outputs, where each of the location classificationoutputs corresponds to a respective set of the largest ones of theaverage values; grouping the location classification outputs of theclassification module and selecting one of the location classificationoutputs as a placement result; and performing an operation in a vehiclebased on the placement result.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, the claims and the drawings. Thedetailed description and specific examples are intended for purposes ofillustration only and are not intended to limit the scope of thedisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram illustrating an example of alocation classification system in accordance with an embodiment of thepresent disclosure;

FIG. 2 illustrates an example of a PEPS operation method that is basedon location classifications in accordance with the embodiment of FIG. 1;

FIG. 3 illustrates an example of a location classification methodimplemented on a mobile network device in accordance with the embodimentof FIG. 1;

FIG. 4 is a functional block diagram illustrating an example of aportion of another location classification system implemented in avehicle and in accordance with another embodiment of the presentdisclosure;

FIG. 5 illustrates an example of another PEPS operation method includinga location classification method in accordance with the embodiment ofFIG. 4;

FIG. 6 illustrates an example of a gravity data collection method inaccordance with the embodiment of FIG. 4;

FIG. 7 is a graph of gravitational data illustrating an example of apattern of coordinate data in accordance with an embodiment of thepresent disclosure;

FIG. 8 is a graph of the gravitational data for one axis in accordancewith the embodiment of FIG. 7;

FIG. 9 is a diagram illustrating an example of a portion of a neuralnetwork in accordance with an embodiment of the present disclosure;

FIG. 10 is a plot of example location classification outputs of theneural network array of FIG. 9; and

FIG. 11 is a plot of the location classification outputs of FIG. 10illustrating example groupings in accordance with an embodiment of thepresent disclosure.

In the drawings, reference numbers may be reused to identify similarand/or identical elements.

DETAILED DESCRIPTION

A BLE PEPS system may perform certain operations based on an estimateddistance between a person and a vehicle. For example, a BLE PEPS systemmay unlock a door of the vehicle when the person is within apredetermined range of the vehicle. The distance between the person andthe vehicle may be determined based on BLE signals transmitted from amobile network device to the vehicle. Examples of mobile network devicesare a key fob, a mobile phone, a tablet, a wearable device (e.g., asmart watch), a laptop computer, a portable media player, etc. As anexample, the distance may be determined based on strengths of thereceived BLE signals.

BLE signals are subject to multipath reflection and interference and canbe absorbed in a human body. Thus, strengths of the transmitted BLEsignals are stronger when the mobile network device is located betweenthe person and the vehicle than when the person is located between themobile network device and the vehicle. As an example, a strength of aBLE signal transmitted from a mobile network device located in a backpocket of a person, which is 1 meter away from a vehicle, may be equalto a strength of a BLE signal transmitted from a mobile network devicelocated in a hand of a person that is 10 meters away from the vehicle.

Examples set forth herein include location classification systems forclassifying where on a person a mobile network device is located and/orhow a person is carrying or holding the mobile network device. Each ofthe location classification systems classifies the location of a mobilenetwork device as one of a predetermined number of classifications. Asan example, the classifications indicate that the mobile network deviceis: in a front pocket, in a back pocket, in a hand of a person, on awrist of a person, on a hat, in a backpack, in a clothing article, in awaste pack, in a front pant pocket, in a back pant pocket, in a frontshirt pocket, and/or other location classification. A PEPS system thendetermines distances of the person from the vehicle and performsoperational decisions based on the provided location classifications.

FIG. 1 shows a location classification system 10 that includes a mobilenetwork device 12 and a vehicle 14. The mobile network device 12 mayinclude a control module 16, sensors 18, one or more transceivers (asingle transceiver 20 is shown), and a memory 22. The control module 16includes a data module 24, an averaging module 26, a classificationmodule 28 and a grouping module 30. The memory 22 includes a circularbuffer 32, a running average array 34, a neural network array 36, and agroup queue 38. The memory 22 may store pattern recognition data 40. Themodules 24, 26, 28, 30, the circular buffer 32, the running averagearray 34, the neural network array 36, and the group queue 38 aredescribed below with respect to the methods of FIGS. 2-3.

The sensors 18 include one or more accelerometers, which are used tocollect acceleration data (e.g., linear acceleration data) andgravitational data. In one embodiment, a location classification processis performed based on the linear acceleration data and not thegravitational data. In another embodiment, a location classificationprocess is performed based on the gravitational data and not the linearacceleration data. In yet another embodiment, a local classificationprocess is performed based on both the linear acceleration data and thegravitational data.

An accelerometer is a gravity sensor. An accelerometer measures properacceleration (“g-force”). Proper acceleration is not the same ascoordinate acceleration (rate of change of velocity). For example, anaccelerometer at rest on the surface of the earth measures anacceleration of g=9.81 meters per second squared (m/s²) in a verticaldirection. In contrast, an accelerometer in free fall orbiting andaccelerating due to the gravity of the earth measures zero acceleration.

The sensors may be used to collect Cartesian coordinate data (X, Y, Zdata) and/or polar coordinate data (distance from reference point andangle from reference direction data, i.e. two coordinates). In oneembodiment, the Cartesian coordinate data is used and not the polarcoordinate data. In another embodiment, the polar coordinate data isused and not the Cartesian coordinate data. In yet another embodiment,both the Cartesian and polar coordinate data is used. The polarcoordinate data may be based on gravity data, which may include an earthor vehicle based reference coordinate and mobile network devicecoordinates.

The polar coordinate data is better suited for detecting patterndifferences between (i) when the mobile network device 12 is located toexperience a substantial amount of rotational changes in accelerationand (ii) when the mobile network device 12 is located to experience aminimal amount of rotational changes in acceleration. This is becausethe polar coordinate data directly indicates angular (or rotational)data, which is not readily available with Cartesian coordinate data.Rotational information may be indirectly determined from the Cartesiancoordinate data. As an example, the mobile network device 12 whenlocated in a pocket over a thigh or knee of a person would experience asubstantial amount of rotational changes in acceleration. In contrast,the mobile network device 12 when located in a back pocket or in a backpack may experience a minimal amount of rotational changes inacceleration. Based on human kinematics and at least with respect to themobile network device 12 being located in a front pocket versus a backpocket of a person, more acceleration information may be provided in thepolar coordinate domain than in the Cartesian coordinate domain.

The transceivers including the transceiver 20 are wireless transceivers.In one embodiment, the transceiver 20 is a Bluetooth® transceiver. Thetransceivers may transmit and/or receive LF, RF, BLE and/or Wi-Fi®signals. The frequencies of the signals transmitted and received aresuitable for: communicating with a body control module 50 of thevehicle; localization determination; and transmitting locationclassification data to the vehicle 14. Localization determination refersto determining distance between the mobile network device 12 and thevehicle 14. The distance may be determined based on signal strength,time of flight of transmitted signals, phase shift of the transmittedsignals, etc.

The vehicle 14 includes a body control module 50, an engine controlmodule 52, and one or more transceivers (a transceiver 54 is shown). Thebody control module 50 is in communication with the control module 16 ofthe mobile network device 12 via the transceivers. The body controlmodule 50 includes a PEPS module 56, which controls operations ofcertain vehicle components, motors, and systems, such as window and dooractuators 58, interior lights 60, exterior lights 62, a trunk motor andlock 64, seat position motors 66, seat temperature control systems 68vehicle mirror motors 70 (e.g., side view motors and rear view motor),and air-conditioning system 72. The PEPS module 56 controls thecomponents, motors, and systems based on location classification outputsprovided by the control module 16. The location classification outputsindicate classifications of locations of the mobile network device 12 ona person. Example classifications are: in a front pocket, in a backpocket, in a hand of a person, on a wrist of a person, on a hat, in abackpack, in a clothing article, in a waste pack, in a front pantpocket, in a back pant pocket, in a front shirt pocket, and/or otherlocation classification. Each location classification output may have arespective value corresponding to the location classification.

The engine control module 52 controls operation of an engine 80 of thevehicle 14. The engine 80 may include a starter motor 82, a fuel system84, an ignition system 86 and a throttle system 88. The engine controlmodule 52 may control operation of the starter motor 82, the fuel system84, the ignition system 86 and the throttle system 88 based on signalsfrom the PEPS module 56. The PEPS module 56 may, for example, signal theengine control module 52 to start and/or stop the engine 80 based on thelocation classification outputs received from the control module 16. Thestarting and stopping of the engine 80 may include: running the startermotor 82; enabling the fuel system 84 to start supplying fuel to theengine 80; disabling the fuel system 84 to stop supplying fuel to theengine 80; enabling the ignition system 86 to provide spark to cylindersof the engine 80; disabling spark to the cylinders of the engine 80; andadjusting position of a throttle of the throttle system 88.

The vehicle 14 may include a hybrid control module 90 that controlsoperation of one or more electric motors 92. The hybrid control module90 may control operation of the motors 92 based on the locationclassification outputs received from the control module 16. This mayinclude running and/or stopping the motors 92.

The transceivers including the transceiver 54 of the vehicle 14 arewireless transceivers. In one embodiment, the transceiver 54 is aBluetooth® transceiver. The transceivers may transmit and/or receive LF,RF, BLE, and/or Wi-Fi® signals. The frequencies of the signalstransmitted and received are suitable for: communicating with thecontrol module 16 of the mobile network device 12; localizationdetermination; and receiving location classification data from themobile network device 12.

For further defined structure of the modules of FIG. 1 see belowprovided methods of FIGS. 2-3 and 4-5 and below provided definition forthe term “module”. The systems disclosed herein may be operated usingnumerous methods, example methods are illustrated in FIGS. 2-3 and 5-6.The methods of FIGS. 2-3 and 5-6 may be performed while a person isstanding still, walking, jogging, running, moving towards and/or awayfrom a vehicle. Data may be collected and processed to provide locationclassification results in a few seconds or less, depending on processingpower, as to be performed in “real time”. In FIGS. 2-3, a PEPS operationmethod implemented in a vehicle and a location classification methodimplemented on a mobile network device are shown.

Although for certain embodiments example portions FIGS. 2-3 and 5-6 aredescribed with respect to use of a neural network, other machinelearning algorithms may be used for determining location classificationsand placement results. Also, although the methods of FIGS. 2-3 and 5-6are directed to collecting data for systems that have been previouslytrained, the methods may be modified to collect data for trainingpurposes. In one embodiment, data is collected to train a neuralnetwork. Data may be collected in a same or similar manner as collectedfor a trained system. Weight values of the neural network may beadjusted during the training process.

The method of FIG. 2 may be performed while the method of FIG. 3 isperformed. Although the following operations are primarily describedwith respect to the implementations of FIGS. 1-3, the operations may bemodified to apply to other implementations of the present disclosure.The operations may be iteratively performed.

The method of FIG. 2 may begin at 100. At 102, the PEPS module 56 maytransmit a signal (e.g., an advertising signal) to detect a geolocationof the mobile network device 12 and/or a location of the mobile networkdevice 12 relative to the vehicle 14. As an example, the PEPS module 56may transmit signals to and receive signals from the mobile networkdevice 12. The PEPS module 56 may, based on strengths of the signalsreceived, estimate distances (i) between the mobile network device 12and the vehicle 14 and/or (ii) between a person carrying the mobilenetwork device 12 and the vehicle 14. As another example, the PEPSmodule 56 may communicate with one or more local positioning system(LPS) sensors/beacons located on the vehicle 14, on the mobile networkdevice 12, and/or remotely from the vehicle 14 and mobile network device12. Example LPS systems 94, 96 are shown. The PEPS module 56 may thenreceive response signals indicating locations of the mobile networkdevice 12 and/or the vehicle 14 and estimate distances (i) between themobile network device 12 and the vehicle 14 and/or (ii) between a personcarrying the mobile network device 12 and the vehicle 14.

At 104, the PEPS module 56 may determine whether the mobile networkdevice 12 and/or person is within a predetermined range of the vehicle14 and whether the mobile network device 12 and/or person is movingtowards the vehicle 14. These determinations are made based on thedistance and location estimates determined at 102. If the mobile networkdevice 12 and/or person is within the predetermined range and/or movingtowards the vehicle 14, then task 106 is performed, otherwise task 102may be performed.

At 106, the PEPS module 56 transmits a position classification requestsignal to the mobile network device 12 to initiate a locationclassification process. The position classification request signalrequests for location classification outputs or placement result fromone or more of the modules 16, 28, 30. In an embodiment, the placementresult is requested from the grouping module 30. The placement resultmay be referred to as a location classification output or resultantlocation classification output. Operation 106 may be performedsubsequent to operation 204 of FIG. 3. At 108, the PEPS module 56receives the location classification outputs and/or placement resultfrom one or more of the modules 15, 28 and/or 30. In an embodiment, thePEPS module 56 receives the placement result from the grouping module30. The placement result indicates the location classification of themobile network device 12, which may be determined based on locationclassification outputs from the classification module 28. Operation 108may be performed subsequent to operations 230 of FIG. 3.

At 109, the PEPS module 56 may estimate a range of the person (i.e. adistance between the person and the vehicle 14), carrying the mobilenetwork device 12, is from the vehicle 14. This estimation is based onthe placement result. For example and for a same location of the personand when the person is facing the vehicle 14, the range between theperson and the vehicle 14 is greater when the mobile network device 12is located in a back pocket or in a back pack then when located in afront pocket or in a hand of the person. A distance may be estimatedbased on predetermined tabular data relating placement results todistances. The distance may be summed with or subtracted from a distancebetween the mobile network device 12 and the vehicle 14 to provide theestimated range. The distance between the mobile network device 12 andthe vehicle may be estimated based on the distance determined at 104.

At 110, the PEPS module 56 performs PEPS operations based on theplacement result and/or the range. For example, the PEPS module 56 mayunlock doors when the person is within a predetermined range or lockdoors when the person is outside the predetermined range. The method ofFIG. 2 may end at 112.

The method of FIG. 3 may begin at 200. At 202, the control module 16 mayreceive a signal (e.g., the advertising signal) from the PEPS module 56via the transceivers 20, 54 and transmit a response signal to the PEPSmodule 56. Operation 202 may be performed in response to operation 102of FIG. 2.

At 204, the control module 16 may receive the classification requestsignal from the PEPS module 56. At 206, based on the classificationrequest signal, the data module 24 may read acceleration data, gravitydata from one or more of the sensors 18 and/or determine gravity databased on signals from one or more of the sensors 18. In one embodiment,this includes collecting any or all acceleration data from the sensors18. The acceleration data may be represented as Cartesian and/or polarcoordinate data. An example of gravity data collected while a person iswalking and carrying a mobile network device is shown in FIG. 7. At 208,the data module 24 stores the gravity data in the circular buffer 32. Inone embodiment, any or all of the acceleration data is stored in thecircular buffer 32.

At 210, the averaging module 26 may determine absolute values of theacceleration and/or gravity data stored in the circular buffer 32. At212, the averaging module 26 may determine a running average of theabsolute values of the data stored in the circular buffer over the lastpredetermined period of time (e.g., 1 second). A running average may bedetermined for each axis when operating based on Cartesian coordinatedata and/or for each dimension (distance r and angle φ dimensions) whenoperating based on polar coordinate data. At 214, the averaging module26 stores the running averages of the absolute values for the axesand/or the dimensions in the running average array 34.

At 216, the averaging module 26 may determine for each set of runningaverages (e.g., running averages of X, Y, Z) the largest averageabsolute value. For example if the running average absolute value forthe Y coordinate is larger than the running average absolute values forthe X and Z coordinates than the running average absolute value for theY coordinate is selected. The largest average absolute value is storedin the neural network array 36 at 218. The classification process isorientation and direction agnostic due to determining of the absolutevalues and selecting the largest ones of the absolute values. Thelargest average absolute values may be associated with a single axis ormultiple axes. For the example of FIGS. 7-8, the Y axis has the largestaverage absolute values.

At 220, the classification module 28 may determine if the neural networkarray 36 is full and/or whether a first predetermined number of largestaverage absolute values are stored in the neural network array 36. Forexample, if 115 largest average absolute values are stored in the neuralnetwork array 36, then operation 222 is performed, otherwise operation206 is performed. In an example embodiment, the 115 largest averageabsolute values are associated with 1.15 second of collected data and 1walking step of the person, where each value is associated with 10.0milliseconds of time. In another example embodiment, the 115 largestaverage absolute values are associated with 1 second of collected dataand 1 walking step of the person, where each value is associated with8.7 milliseconds of time. Operations 206-220 are performed until theneural network array 36 is full and/or the number of the largest averageabsolute values stored is equal to the first predetermined number.

At 222, the classification module 28 classifies a current location ofthe mobile network device 12. This may include transferring the largestaverage absolute values from the neural network array 36 to theclassification module 28. The classification module 28 may operate as atrained neural network having multiple layers. An example of a trainedneural network is shown in FIG. 9 and may include layers. The layers mayinclude an input (or first) layer, one or more hidden layers (e.g.,layers 2, 3) and an output (or fourth) layer. The input layer may haveas many inputs as values received from the neural network array 36during operation 222. The output layer may include an output for eachlocation classification. The largest average absolute values areprovided to the first layer. Weights are applied as the values aretransferred between the layers. Each arrow of FIG. 9 represents a weightbeing applied. For example, as each of the largest average values istransferred between the layers, the largest average absolute value ismultiplied by a weight value. Each output the output layer receives andsums multiple values. The trained neural network is further describedbelow. The output with the largest value is selected as the locationclassification, which is stored in the group queue 38 at 224.

As another example, the classification module 28 may access the patternrecognition data 40 and compare the acceleration data, gravity data, therunning averages, the largest average absolute values, the Cartesiancoordinate data, the polar coordinate data and/or portions thereof tothe pattern recognition data 40. In one embodiment, amplitude changes inaccelerometer data is compared to the pattern recognition data 40. Thepattern recognition data 40 may include predetermined patternscorresponding to each location classification. The may include use of apattern recognition algorithm to determine the predetermined patternthat best matches the data collected. The location classificationassociated with the best matching pattern is identified as the locationclassification, which may be stored in the group queue 38.

At 226, the grouping module 30 determines whether the group queue 38 isfull and/or whether a second predetermined number (e.g., 5) of locationclassifications are stored in the group queue 38. If the group queue 38is full and/or the second predetermined number of locationclassifications are stored, then operation 228 is performed, otherwiseoperation 232 is performed.

At 228, the grouping module 30 determines a placement result indicatingplacement of the mobile network device 12 on the person. In oneembodiment, the last second predetermined number of locationclassifications stored in the group queue 38 is reviewed and thelocation classification indicated the most is selected as the placementresult. For example, if 3 of 5 of the grouped values indicate a locationclassification of a front pocket, then the placement result is the frontpocket. An example showing different groupings over time is shown inFIG. 11.

In another embodiment, the values stored in the group queue 38 areweighted, where the weights decrease with age of the value stored, suchthat the older values are weighted less than the currently storedvalues. The weighted group values for each location classification maybe summed and the location classification having the largest summedvalue is selected as the placement result. In another embodiment, theweighted values are averaged and rounded to the nearest integer toindicate the placement result.

In yet another embodiment, an average of the values in the group queue38 is determined and the average value rounded to the nearest integerindicates the placement result. Is still another embodiment, acombinational formula is used to determine the placement result.

At 230, the control module 16 transmits the placement result to the PEPSmodule 56 via the transceiver 20. At 232, the grouping module 30 emptiesthe neural network array 36. Operation 206 may be performed subsequentto operation 232. The method of FIG. 3 may end at 234.

The above-described operations of FIGS. 2-3 are meant to be illustrativeexamples; the operations may be performed sequentially, synchronously,simultaneously, continuously, during overlapping time periods or in adifferent order depending upon the application. Also, any of theoperations may not be performed or skipped depending on theimplementation and/or sequence of events.

FIG. 4 shows a portion 250 of another location classification systemimplemented in a vehicle 14. The portion includes a body control module300 and a memory 302. The body control module 300 may include a datamodule 304, an averaging module 306, a classification module 308 and agrouping module 310, which may operate similar as the modules 24, 26, 28and 30 of FIG. 1. The body control module 300 may include the PEPSmodule 56 and may communicate with the mobile network device 12 of FIG.1 or other mobile network device.

The memory 302 may include a circular buffer 320, a running averagearray 322, a neural network array 324, and a group queue 326 and maystore pattern recognition data 328. The circular buffer 320, the runningaverage array 322, the neural network array 324 and the group queue 326may store data and values similar as the circular buffer 32, the runningaverage array 34, the neural network array 36 and the group queue 38 ofFIG. 1.

In FIGS. 5-6, a PEPS operation method including a locationclassification method implemented on a mobile network device and agravity data collection method are shown. The method of FIG. 5 may beperformed while the method of FIG. 6 is performed. Although thefollowing operations are primarily described with respect to theimplementations of FIGS. 1 and 4-6, the operations may be modified toapply to other implementations of the present disclosure. The operationsmay be iteratively performed.

The method of FIG. 5 may begin at 400. At 402, the PEPS module 56 maytransmit a signal (e.g., an advertising signal) to detect a geolocationof the mobile network device 12 and/or a location of the mobile networkdevice 12 relative to the vehicle 14, as described above with respect tooperation 102 of FIG. 2. At 404, the PEPS module 56 may determinewhether the mobile network device 12 and/or person is within apredetermined range of the vehicle 14 and whether the mobile networkdevice 12 and/or person is moving towards the vehicle 14. Thesedeterminations are made based on the distance and location estimatesdetermined at 402. If the mobile network device 12 and/or person iswithin the predetermined range and/or moving towards the vehicle 14,then task 406 is performed, otherwise task 402 may be performed.

At 406, based on the classification request signal, the data module 304may transmit a gravity data request signal to the control module 26 ofthe mobile network device 12. The gravity data request signal requestsgravity data from the sensors 18 of the mobile network device 12. Inanother embodiment, the data module 304 and/or the body control module300 may request acceleration data with or without the gravity data. At408, the data module 304 receives the gravity data and/or otheracceleration data from the mobile network device 12 and stores the datain the circular buffer 320 at 410.

At 412, the averaging module 306 may determine absolute values of theacceleration and/or gravity data stored in the circular buffer 320. At414, the averaging module 306 may determine a running average of theabsolute values of the data stored in the circular buffer over the lastpredetermined period of time (e.g., 1 second) as described above withrespect to operation 212. At 416, the averaging module 306 stores therunning averages of the absolute values for the axes and/or thedimensions in the running average array 322.

At 418, the averaging module 306 may determine for each set of runningaverages (e.g., running averages of X, Y, Z) the largest averageabsolute value as described above with respect to operation 216. Thelargest average absolute value is stored in the neural network array 324at 420. The classification process is orientation and direction agnosticdue to the determining of the absolute values and selecting the largestones of the absolute values. The largest average absolute values may beassociated with a single axis or multiple axes. For example, consecutiveiterations of the operation 418 provide respective largest averageabsolute values. The largest average absolute values for the consecutiveiterations may be for the same axis (e.g., the Y axis) or may be fordifferent axes.

At 422, the classification module 308 may determine if the neuralnetwork array 324 is full and/or whether a first predetermined number oflargest average absolute values are stored in the neural network array324 as described above with respect to operation 220. Operations 406-422are performed until the neural network array 324 is full and/or thenumber of the largest average absolute values stored is equal to thefirst predetermined number.

At 424, the classification module 308 classifies a current location ofthe mobile network device 12 as described above with respect tooperation 222. This may include transferring the largest averageabsolute values from the neural network array 324 to the classificationmodule 308. The classification module 28 may operate as a trained neuralnetwork having multiple layers. An example of a trained neural networkis shown in FIG. 9 and may include layers. The output of the neuralnetwork with the largest value is selected as the locationclassification, which is stored in the group queue 326 at 426.

As another example, the classification module 308 may access the patternrecognition data 328 and compare the acceleration data, the gravitydata, the running averages, the largest average absolute values, theCartesian coordinate data, the polar coordinate data and/or portionsthereof to the pattern recognition data 328. The pattern recognitiondata 328 may include predetermined patterns corresponding to eachlocation classification. The predetermined pattern that best matches thedata collected and/or determined is identified as the locationclassification, which may be stored in the group queue 326.

At 428, the grouping module 310 determines whether the group queue 326is full and/or whether a second predetermined number (e.g., 5) oflocation classifications are stored in the group queue 326. If the groupqueue 326 is full and/or the second predetermined number of locationclassifications are stored, then operation 430 is performed, otherwiseoperation 432 is performed.

At 430, the grouping module 310 determines a placement result indicatingplacement of the mobile network device 12 on the person as describedabove with respect to operation 228 of FIG. 3.

At 431, the PEPS module 56 may estimate a range of the person, carryingthe mobile network device 12, is from the vehicle 14. This estimationmay be performed as described above with respect to operation 109 ofFIG. 2.

At 432, the PEPS module 56 performs PEPS operations based on theplacement result and/or the range. At 432, the grouping module 310empties the neural network array 324. Operation 406 may be performedsubsequent to operation 432. The method of FIG. 5 may end at 436.

The method of FIG. 6 may begin at 500. At 502, the control module 16 mayreceive a signal (e.g., the advertising signal) from the PEPS module 56via the transceivers 20, 54 and transmit a response signal to the PEPSmodule 56. Operation 502 may be performed in response to operation 402of FIG. 5.

At 504, the data module 24 receives a data request signal from the bodycontrol module 300 requesting gravity data and/or other accelerationdata from the sensors 18. At 506, the data module 24 reads accelerationdata including gravity data from one or more of the sensors 18 and/ordetermines gravity data based on signals from one or more of the sensors18. In one embodiment, this includes collecting any or all accelerationdata from the sensors 18. The acceleration data may be represented asCartesian and/or polar coordinate data. An example of gravity datacollected while a person is walking and carrying a mobile network deviceis shown in FIG. 7. At 508, the data module 24 stores the gravity datain the circular buffer 32. In one embodiment, any or all accelerationdata is stored in the circular buffer 32. At 510, the data module 24transmits the gravity and/or acceleration data to the data module 304.The method of FIG. 6 may end at 512.

The above-described operations of FIGS. 5-6 are meant to be illustrativeexamples; the operations may be performed sequentially, synchronously,simultaneously, continuously, during overlapping time periods or in adifferent order depending upon the application. Also, any of theoperations may not be performed or skipped depending on theimplementation and/or sequence of events.

FIG. 7 shows a graph of gravitational data illustrating an example of apattern of Cartesian coordinate data (or X, Y, Z axis data). Thegravitational data is for a person walking and holding a mobile networkdevice is the person's hand. The Y-axis data has the largest absolutevalues for acceleration. FIG. 8 shows a graph of the gravitational datafor only the Y-axis data, which may be selected using the methods ofFIGS. 3 and 5.

FIG. 9 shows a diagram illustrating an example of a portion of a neuralnetwork. The neural network, as shown, includes 4 layers, but mayinclude any number of layers. The first layer is the input layer, thesecond and third layers are hidden or intermediate layers, and the lastlayer is the output layer. Each layer has multiple nodes that receivevalues. The nodes of the first layer receive the selected largestaverage absolute values as described above. Although each of the layersis shown having a certain number of nodes, each layer may have anynumber of nodes. In one embodiment, each of the first, second and thirdlayers include 115 nodes and the output layer includes 4 nodes. Thesecond layer receives weighted amounts of the largest average absolutevalues. Each node in the second layer may receive a value from all ofthe nodes in the first layer. Each node in the third layer may receive avalue from each of the nodes in the second layer. Each node in thefourth layer may receive a value from each of the nodes in the thirdlayer. Each node in the second, third, and fourth layers may sum thecorresponding weighted values received.

FIG. 10 shows a plot of example location classification outputs of aneural network array of FIG. 9. Each point in the plot refers to alocation classification output. In the example shown there are fourlocation classifications numbered 1-4. As an example, the numbers 1-4may respectively refer to front pocket, back pocket, hand free, andin-hand classifications.

FIG. 11 shows a plot of the location classification outputs beinggrouped. The brackets are shown to illustrate which locationclassification outputs are in a group queue and/or grouped to determinea placement result. For example, the bracket may be effectively slidalong the plot over time from left to right to select the latest groupof location classification outputs. Each grouping may include locationclassification outputs associated with different locationclassifications. In the example shown, the location classificationoutputs located above a bracket are grouped for that correspondingperiod of time.

While the foregoing location classification systems are primarilydescribed with respect to vehicle implementations, the locationclassification systems are applicable to non-vehicle implementations.For example, the location classification systems may be implemented forclassifying mobile network device locations on a person in a warehouseor in an airport. Instead of portions of the location classificationsystems being located in a vehicle, the portions may be located in acomputer and at, for example, a monitoring station. As an example, thelocal classification systems may be used to monitor locations ofemployees and/or aid employees in performing certain tasks. The localclassifications obtained may be used to open and/or unlock doors of thewarehouse and/or airport. The location classification systems may beused to monitor how mobile network devices are being carried and usedand/or an amount of time of use. For example, if the mobile networkdevice is being held in a hand of a person, the mobile network device islikely being used as opposed to when the mobile network device is in apocket.

As a couple more examples, the vehicle 14 of FIGS. 1 and 4 may bereplaced with a bicycle, an electric bicycle, a recreational trailer, orother object for which passive activation, passive start, and/or otherpassive operations are performed. The vehicle 14 may be replaced with abicycle or recreational trailer that includes one or more of a controlmodule, an engine, an electric motor, lights, etc. similar to thevehicle 14. The engine, electric motor, lights, etc. may be operatedbased on location classifications and/or placement results of a mobilenetwork device on a person as described above. As another example, thevehicle 14 may be replaced with a residential home or business havingdoors that may be locked or unlocked in a similar manner describedabove. The home or business may include a control module and door locks,which are locked and unlocked based on location classifications and/orplacement results of a mobile network device on a person as describedabove.

The foregoing description is merely illustrative in nature and is in noway intended to limit the disclosure, its application, or uses. Thebroad teachings of the disclosure can be implemented in a variety offorms. Therefore, while this disclosure includes particular examples,the true scope of the disclosure should not be so limited since othermodifications will become apparent upon a study of the drawings, thespecification, and the following claims. It should be understood thatone or more steps within a method may be executed in different order (orconcurrently) without altering the principles of the present disclosure.Further, although each of the embodiments is described above as havingcertain features, any one or more of those features described withrespect to any embodiment of the disclosure can be implemented in and/orcombined with features of any of the other embodiments, even if thatcombination is not explicitly described. In other words, the describedembodiments are not mutually exclusive, and permutations of one or moreembodiments with one another remain within the scope of this disclosure.

Spatial and functional relationships between elements (for example,between modules, circuit elements, semiconductor layers, etc.) aredescribed using various terms, including “connected,” “engaged,”“coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and“disposed.” Unless explicitly described as being “direct,” when arelationship between first and second elements is described in the abovedisclosure, that relationship can be a direct relationship where noother intervening elements are present between the first and secondelements, but can also be an indirect relationship where one or moreintervening elements are present (either spatially or functionally)between the first and second elements. As used herein, the phrase atleast one of A, B, and C should be construed to mean a logical (A OR BOR C), using a non-exclusive logical OR, and should not be construed tomean “at least one of A, at least one of B, and at least one of C.”

In the figures, the direction of an arrow, as indicated by thearrowhead, generally demonstrates the flow of information (such as dataor instructions) that is of interest to the illustration. For example,when element A and element B exchange a variety of information butinformation transmitted from element A to element B is relevant to theillustration, the arrow may point from element A to element B. Thisunidirectional arrow does not imply that no other information istransmitted from element B to element A. Further, for information sentfrom element A to element B, element B may send requests for, or receiptacknowledgements of, the information to element A.

In this application, including the definitions below, the term “module”or the term “controller” may be replaced with the term “circuit.” Theterm “module” may refer to, be part of, or include: an ApplicationSpecific Integrated Circuit (ASIC); a digital, analog, or mixedanalog/digital discrete circuit; a digital, analog, or mixedanalog/digital integrated circuit; a combinational logic circuit; afield programmable gate array (FPGA); a processor circuit (shared,dedicated, or group) that executes code; a memory circuit (shared,dedicated, or group) that stores code executed by the processor circuit;other suitable hardware components that provide the describedfunctionality; or a combination of some or all of the above, such as ina system-on-chip.

The module may include one or more interface circuits. In some examples,the interface circuits may include wired or wireless interfaces that areconnected to a local area network (LAN), the Internet, a wide areanetwork (WAN), or combinations thereof. The functionality of any givenmodule of the present disclosure may be distributed among multiplemodules that are connected via interface circuits. For example, multiplemodules may allow load balancing. In a further example, a server (alsoknown as remote, or cloud) module may accomplish some functionality onbehalf of a client module.

The term code, as used above, may include software, firmware, and/ormicrocode, and may refer to programs, routines, functions, classes, datastructures, and/or objects. The term shared processor circuitencompasses a single processor circuit that executes some or all codefrom multiple modules. The term group processor circuit encompasses aprocessor circuit that, in combination with additional processorcircuits, executes some or all code from one or more modules. Referencesto multiple processor circuits encompass multiple processor circuits ondiscrete dies, multiple processor circuits on a single die, multiplecores of a single processor circuit, multiple threads of a singleprocessor circuit, or a combination of the above. The term shared memorycircuit encompasses a single memory circuit that stores some or all codefrom multiple modules. The term group memory circuit encompasses amemory circuit that, in combination with additional memories, storessome or all code from one or more modules.

The term memory circuit is a subset of the term computer-readablemedium. The term computer-readable medium, as used herein, does notencompass transitory electrical or electromagnetic signals propagatingthrough a medium (such as on a carrier wave); the term computer-readablemedium may therefore be considered tangible and non-transitory.Non-limiting examples of a non-transitory, tangible computer-readablemedium are nonvolatile memory circuits (such as a flash memory circuit,an erasable programmable read-only memory circuit, or a mask read-onlymemory circuit), volatile memory circuits (such as a static randomaccess memory circuit or a dynamic random access memory circuit),magnetic storage media (such as an analog or digital magnetic tape or ahard disk drive), and optical storage media (such as a CD, a DVD, or aBlu-ray Disc).

The apparatuses and methods described in this application may bepartially or fully implemented by a special purpose computer created byconfiguring a general purpose computer to execute one or more particularfunctions embodied in computer programs. The functional blocks,flowchart components, and other elements described above serve assoftware specifications, which can be translated into the computerprograms by the routine work of a skilled technician or programmer.

The computer programs include processor-executable instructions that arestored on at least one non-transitory, tangible computer-readablemedium. The computer programs may also include or rely on stored data.The computer programs may encompass a basic input/output system (BIOS)that interacts with hardware of the special purpose computer, devicedrivers that interact with particular devices of the special purposecomputer, one or more operating systems, user applications, backgroundservices, background applications, etc.

The computer programs may include: (i) descriptive text to be parsed,such as HTML (hypertext markup language), XML (extensible markuplanguage), or JSON (JavaScript Object Notation) (ii) assembly code,(iii) object code generated from source code by a compiler, (iv) sourcecode for execution by an interpreter, (v) source code for compilationand execution by a just-in-time compiler, etc. As examples only, sourcecode may be written using syntax from languages including C, C++, C#,Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl,Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5threvision), Ada, ASP (Active Server Pages), PHP (PHP: HypertextPreprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, VisualBasic®, Lua, MATLAB, SIMULINK, and Python®.

None of the elements recited in the claims are intended to be ameans-plus-function element within the meaning of 35 U.S.C. § 112(f)unless an element is expressly recited using the phrase “means for,” orin the case of a method claim using the phrases “operation for” or “stepfor.”

1. A system comprising: a data module configured to receive at least oneof acceleration data and gravity data from an accelerometer or a mobilenetwork device, wherein the acceleration data and the gravity data areindicative of accelerations experienced by the mobile network device; aclassification module configured to classify a location where the mobilenetwork device is on a person based on the at least one of theacceleration data and the gravity data and generate a locationclassification output indicating where on the person the mobile networkdevice is located relative to a first bodily feature of the person; anda control module configured to perform an operation based on thelocation classification output.
 2. The system of claim 1, furthercomprising: an averaging module configured to determine absolute valuesof the gravity data and average the absolute values, wherein eachaverage absolute value generated is an average of a respective pluralityof the absolute values; wherein the classification module is configuredto iteratively classify the location of the mobile network device basedon largest ones of the average absolute values and generate locationclassification outputs indicating where on the person the mobile networkdevice is located relative to at least one bodily feature of the person,wherein each of the location classification outputs corresponds to arespective plurality of the largest ones of the average absolute values,and wherein the at least one bodily feature includes the first bodilyfeature; a grouping module configured to group the locationclassification outputs of the classification module and select one ofthe location classification outputs as a placement result; and whereinthe control module is configured to perform an operation based on theplacement result.
 3. The system of claim 2, wherein the averaging moduleis configured to determine absolute values of the gravity data for eachCartesian coordinate and average the absolute values.
 4. The system ofclaim 1, wherein the classification module is configured to classify thelocation of the mobile network device based on polar coordinates of theat least one of the acceleration data and the gravity data.
 5. Thesystem of claim 1, wherein: the data module and the classificationmodule are implemented in the mobile network device; and the data modulereceives the at least one of the acceleration data and the gravity datafrom the accelerometer.
 6. The system of claim 1, wherein: the datamodule and the classification module are implemented in a vehicle; andthe data module is configured to wirelessly receive the at least one ofthe acceleration data and the gravity data via a transceiver from themobile network device.
 7. The system of claim 6, wherein: thetransceiver receives a Bluetooth® low energy signal from the mobilenetwork device; and the Bluetooth® low energy signal includes the atleast one of the acceleration data and the gravity data.
 8. The systemof claim 6, wherein the control module in controlling the operationcontrols a component, a motor or a system of the vehicle based on thelocation classification output.
 9. The system of claim 1, wherein thecontrol module in performing the operation: wirelessly transmits thelocation classification output to a vehicle; or determines a placementresult based on the location classification output and wirelesslytransmits the placement result to the vehicle, wherein the placementresult is a location classification determined based on the locationclassification output, and wherein the placement result indicates howthe person is carrying or holding the mobile network device.
 10. Thesystem of claim 1, wherein the classification module classifies thelocation of the mobile network device on the person as at least one ofin a pocket, in a hand of the person, or not in a hand of the person.11-15. (canceled)
 16. A method of classifying a location of a mobilenetwork device on a person, the method comprising: receiving at leastone of acceleration data and gravity data from the mobile networkdevice, wherein the at least one of acceleration data and gravity datais indicative of accelerations experienced by the mobile network device;determining absolute values of the at least one of acceleration data andgravity data and average the absolute values, wherein each of theaverage absolute values is an average of a respective plurality of theabsolute values; iteratively classifying a location of the mobilenetwork device on the person based on largest ones of the averageabsolute values and generating location classification outputsindicating where on the person the mobile network device is locatedrelative to at least one bodily feature of the person, wherein each ofthe location classification outputs corresponds to a respectiveplurality of the largest ones of the average values; grouping thelocation classification and selecting one of the location classificationoutputs as a placement result; and performing an operation in a vehiclebased on the placement result.
 17. The method of claim 16, furthercomprising determining absolute values of the at least one ofacceleration data and gravity data for each Cartesian coordinate andaverage the absolute values.
 18. The method of claim 16, furthercomprising classifying the location of the mobile network device basedon polar coordinates of the at least one of the acceleration data andthe gravity data.
 19. The method of claim 16, further comprising:wirelessly receiving the at least one of the acceleration data and thegravity data via a transceiver from the mobile network device; andreceiving via the transceiver a Bluetooth® low energy signal from themobile network device, wherein the Bluetooth® low energy signal includesthe at least one of the acceleration data and the gravity data.
 20. Themethod of claim 16, comprising, when controlling the operation,controlling a component, a motor or a system of the vehicle based on thelocation classification output.
 21. The system of claim 1, wherein theclassification module is configured to: determine whether the mobilenetwork device is in a front pocket, a backpack, a clothing article, awaste pack, a front pant pocket, a back pant pocket, or a front shirtpocket; and classify the location as being in at least one the frontpocket, the backpack, the clothing article, the waste pack, the frontpant pocket, the back pant pocket, or the front shirt pocket.
 22. Thesystem of claim 1, wherein the control module is configured to:determine a distance between the mobile network device and a vehicle;and perform the operation based on the distance and the locationclassification output.
 23. The system of claim 22, wherein the controlmodule is configured to, based on the distance and the locationclassification output, perform at least one of: lock a door of thevehicle; open a trunk of the vehicle; open a hatch of the vehicle; orstart an engine of the vehicle.
 24. The system of claim 1, wherein thecontrol module is configured to perform a passive entry passive startoperation based on the location classification output.
 25. The system ofclaim 1, wherein the feature of the person is a hand, a back, an arm, awrist, or a waste.
 26. The system of claim 1, wherein the classificationmodule is configured to: determine whether the mobile network device islocated on a front side or a back side of the person; and classify thelocation based on the determination of whether the mobile network deviceis located on the front side or the back side of the person.
 27. Thesystem of claim 1, wherein: the data module is configured to receivecoordinate data relative to a reference point, wherein the coordinatedata indicates the location on the person where the mobile networkdevice is located; and the classification module is configured toclassify the location based on human kinematics, the coordinate data,and the at least one of the acceleration data and the gravity data.